#pragma once

#include <cstdint>

struct RewardInfo
{
	int32_t mRewardId;
	int32_t mRewardNum;

	void Clear(void)
	{
		mRewardId = 0;
		mRewardNum = 0;
	}
};

class RewardData
{
	static const uint32_t size_8 = 8;
public:
	//---------------------------------------------------------------------------
	RewardData(void);
	//---------------------------------------------------------------------------
	~RewardData();

	//---------------------------------------------------------------------------
	void RewardDataStart(void);
	//---------------------------------------------------------------------------
	void RewardDataFinish(void);

public:
	//---------------------------------------------------------------------------
	void Clear(void);

public:
	//---------------------------------------------------------------------------
	void SetRewardType(uint32_t type);
	//---------------------------------------------------------------------------
	void SetRewardInfoByIndex(uint8_t idx, uint32_t propId, uint32_t propNum);
	//---------------------------------------------------------------------------
	RewardInfo* GetRewardInfoByIndex(uint8_t idx);
	//---------------------------------------------------------------------------
	uint32_t GetRewardInfoSize();
	//---------------------------------------------------------------------------
	RewardInfo* GetRewardInfo();
	//---------------------------------------------------------------------------
	int32_t GetRewardType();

public:
	//---------------------------------------------------------------------------
	void Display(void);

private:
	RewardInfo m_reward_data[size_8];
	int32_t    m_reward_type;
};
